package com.example.project.projectspringcloud.service.user;

import com.example.project.projectspringcloud.common.OperationException;
import com.example.project.projectspringcloud.entity.Page;
import com.example.project.projectspringcloud.entity.user.Evaluate;
import com.example.project.projectspringcloud.entity.user.pojo.EvaluatePojo;

import java.util.List;

/**
 * 用户评价Service
 */
public interface UserEvaluateService {

    /**
     * 获取评价
     * ==============================================================================
     *
     * @param evaluate
     * @return
     */
    Evaluate get(Evaluate evaluate);

    /**
     * 获取评价列表
     * ==============================================================================
     *
     * @param page
     * @param evaluate
     * @return
     */
    List<Evaluate> list(Page page, Evaluate evaluate);

    /**
     * 保存或更新
     * ==============================================================================
     *
     * @param evaluate
     * @return
     * @throws OperationException
     */
    boolean save(Evaluate evaluate) throws OperationException;

    /**
     * 删除
     * ==============================================================================
     *
     * @param ids
     * @return
     */
    boolean delete(Integer[] ids);

    /**
     * 评价
     * ==============================================================================
     *
     * @param pojo
     * @return
     */
    boolean evaluate(EvaluatePojo pojo) throws OperationException;
}
